전체 QNA

유니온 타입에서 특정 타입을 추출하는 방법

10/10/2023 작성

질문

다음과 같이 유니온 타입이 선언되어 있을 때

COPY
type BadgeTypes = | "ing" | "d-day" | "end" | "vq" | "new" | "hot" | "pick" | "start" | "pass" | "test";

특정 파일에서만 "ing" | "d-day" | "end" 이렇게 3가지 케이스만 포함된 유니온 타입을 쓰고 싶다면

어떻게 해야 할까요?

 

답변

안녕하세요 이정환입니다.

다음과 같이 T로부터 K만 추출하는 유틸리티 타입인 Extract 타입을 이용하시면 됩니다!

COPY
type tBadgeType = Extract<BadgeTypes, "new" | "hot" | "pick">;